package com.example.user.controller.auth.vo;

import com.example.user.constants.UserConstants;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;

@EqualsAndHashCode(callSuper = true)
@Data
public class RegisterReqVO extends UserSourceType {

    @NotEmpty
    @Schema(title = "密码")
    private String password;

    @Schema(title = "用户名")
    private String name;

    @Schema(title = "用户头像")
    private String avatar;

    @NotEmpty
    @Schema(title = "验证码")
    private String code;

    /**
     * 用户注册来源
     *
     * @see UserConstants
     */
    @Schema(title = "用户注册来源：1-LEXAR_APP，2-RMA，3-数字相框")
    @NotNull
    private Integer registerSource;

    @Schema(title = "用户所在地区")
    private String area;

    @Schema(title = "是否订阅邮件")
    private Boolean subscribeEmail = false;

}
